This invention relates to a contention control system for a shared communication medium.
Contention control systems are used in systems such as local area networks (LANs) in which a single communication medium is shared by a plurality of independent functional modules such as computers and terminal equipment. Contention refers to a state in which two or more functional modules are trying to use the common communication medium at the same time. If two or more functional modules actually transmit data on the common communication medium at the same time, the data are said to collide. The purpose of the contention control system is to resolve contention and control or avoid data collisions.
One common contention control system is the CSMA/CD (Carrier Sense Multiple Access with Collision Detection) system. This system is used, for example, in the Ethernet local area network. FIG. 1 is a block diagram showing the Ethernet line interface section.
The common communication medium in FIG. 1 is a coaxial cable 11 to which independent functional modules A 12, N 15, etc. are connected. Each functional module has a line interface section comprising a physical layer 13 that is electrically and physically coupled to the communication medium, and a data link layer 14 the primary function of which is error control of the transmitted and received data. In the physical layer, 13a is a transmit channel access unit comprising a driver circuit for sending transmit data to the communication medium, 13b is a transmit data encoder for sending transmit data to the transmit channel access unit according to a fixed encoding rule, 13c is a receive channel access unit for receiving signals from the communication medium, 13d is a receive data decoder for decoding received data according to an encoding rule, 13e is a collision detect unit for detecting the state of contention on the communication medium, and 13f is a carrier detect unit that is coupled to the receive channel access unit for recognizing when data transmission is present on the communication medium.
FIG. 2 is a flowchart of the Ethernet contention control procedure. This procedure is explained next.
To transmit data, the data link layer 14 first checks the carrier detect unit via a lead 17 to ascertain that no other functional module, the functional module N 15 for instance, is transmitting data; then it begins data transmission. The transmit data are routed through the transmit data encoder 13b to the transmit channel access unit 13a, then placed on the communication medium 11. The encoded transmit data are also furnished to the collision detect unit 13e.
The collision detect unit 13e compares the encoded transmit data with the receive data received from the communication medium via the receive channel access unit. If the two data do not match, presumably due to a collision with data transmitted on the communication medium by another functional module, the collision detect unit 13e notifies the data link layer of the unmatch via a lead 16. Upon receiving such notification, the data link layer stops sending data and prepares to resume transmission later.
Another well-known contention control system is found in the physical layer (layer 1) of the basic interface (I interface) described in recommendation I.430 in the Integrated Services Digital Network (ISDN) I series of recommendations of the CCITT. This recommendation stipulates the use of special D and E channels for detecting collisions when two or more functional modules attempt to access the communication medium simultaneously.
FIG. 3 is a block diagram of layer 1 of an ISDN network with this CCITT interface. The network includes a network termination (NT) unit 21 having an echo generator 21a connected to a downstream communication medium 22 and an upstream communication medium 23, both of which comprise two-wire metallic lines. In the drawing, a transmit data frame 26 is shown on the upstream communication medium 23. The frame comprises several channels, one of which is a one-bit D channel 26a. The network termination unit 21 receives the transmit data frame 26 and the echo generator 21a adds an echo signal E which it creates by copying the D-channel data 26a. The resulting frame is placed on the downstream communication medium 22 as the receive data frame 27.
Functional modules (TE--terminal equipment) such as the modules TEA 24 and TEN 25 are connected to the two media 22 and 23. The line interface in each functional module comprises a data transmitter 24a, a data receiver 24b, a comparator for comparing transmit data with echo data 24c, and a D-channel supervisory unit 24d.
FIG. 4 shows a flowchart of the I interface D-channel access operation. When a functional module has data to transmit, it executes a fixed procedure including a check that the D channel is free, then sends data from the data transmitter 24a. The transmit data are synchronized with a D bit which is placed in the D channel, and which is also stored in the comparator 24c. The network termination unit 21 echoes each bit sent on the upstream D channel back through the echo channel (E) provided in the downstream direction. In the comparator 24c, the functional module compares the echo bits received via the echo channel with the D channel bits that were transmitted. As long as the D and E bits match, the functional module continues transmission. If the D and E bits do not match, the functional module halts transmission. Thus when contention between two functional modules occurs, a collision on the D channel will cause one of two contending functional modules to detect an unmatch between the D and E channels, and this functional module will drop out, leaving the communication medium in the possession of the other functional module.
Three drawbacks of the two contention control systems described above are that:
(a) Complex supervisory hardware is required to detect availability of the communication medium.
(b) Hardware is necessary to compare the transmitted and received data.
(c) A procedure for retransmitting data is required, because contention cannot be detected until data transmission begins.
A resulting problem is that these systems are too expensive for use by comparatively low-cost functional modules sharing a short-distance common communication medium.